Field of the Invention
The present invention relates to the field of user interface (UI) control properties and more particularly to identifying dependencies between the properties of UI controls in a UI for a computer application.
Description of the Related Art
The UI provides the interface between program logic and end user. Through the UI, the end user can provide input requisite to the operation of a computer application, and the end user can view resulting output provided by the computer application. The UI can vary from a textual interface to a graphical interface and the UI can be formed through complex program logic, or simple markup language interpretable within a browser. Common to every UI is the arrangement of controls. Controls provide the atomic elements of the UI that permit direct interaction between the end user and the computer application. Examples include text fields, buttons, drop down lists, and the like. A control generally includes one or more properties affecting the appearance and operation of the control. Typical properties that affect the display of the control include a foreground and background color, font type and size, and whether or not the control is enabled or disabled.
The form is a type of UI known to be extraordinarily effective in providing an interface for data collection. Form based input is the enabling technology which permits the widespread distribution of applications across generic client platforms such as the conventional content browser. In the prototypical distributed application, a markup language defined interface can form the principal conduit through which end users can interact with backend application logic. Often configured in the form of a Web page, the interface can be provided to the content browser by a content server and can take the form either of a pre-defined static page, or a dynamically generated page. Form input fields can be positioned within the UI through which user input can be accepted and posted to the backend application logic for further processing.
Simple forms require little planning during the development stage. In this regard, the developer can place a selection of controls within the form in an ad hoc fashion in order to provide an interface through which the end user can interact with backend logic. Complex forms, however, can require substantial planning—particularly as the form spans multiple different viewable pages. The development effort in selecting controls for incorporation into a large form, and also the arrangement of the controls across multiple pages can be a monumental organizational task. To compound matters, some controls are dependent upon others in a form.
Specifically, one or more controls placed deep within a large form often derive properties from other controls placed earlier in the large form. Thus, oftentimes, control properties for controls within a large form are said to depend upon the properties of other controls in the form. By way of example, a first control in a UI may be enabled only when sufficient input has been provided to a second control in the UI. A property within the first control, then, is said to depend upon the property of the second control and a “dependency” property within the first control can expressly define the dependency on the second control. As another example, the background color of one field in a form can be dependent on the background color property of the page in which the field resides. Tracking dependencies in a large form of a multiplicity of controls can be challenging and, in many cases, the developer remains unaware of a dependency as the developer modifies the properties of a control in a form that is dependent upon the properties of another control in the form.